空间关系 Sample详情
最后更新时间:2019年6月17日
空间关系是对空间要素的拓扑关系的判断,包括相邻、相交、相离等基本的拓扑关系。空间关系是GIS空间查询、分析等应用的基础。
1
在进行空间关系运算之前,首先需要准备进行计算的空间几何对象Geometry,获取方法可参考缓冲分析。然后调用对应的接口即可实现。
2
空间关系计算相关接口是由API程序包为com.zondy.mapgis.core.spatial中空间关系类SpaRelation提供的。
SpaRelation spaRelation = new SpaRelation();
3
调用对应接口实现各种空间关系判别。
boolean result=spaRelation.isContains(Geometry1, Geometry2);
boolean result=spaRelation.isCrosses(Geometry1, Geometry2);
boolean result=spaRelation.isDisjoint(Geometry1, Geometry2);
boolean result=spaRelation.isEquals(Geometry1, Geometry2);
boolean result=spaRelation.isOverlaps(Geometry1, Geometry2);
boolean result=spaRelation.isTouches(Geometry1, Geometry2);
boolean result=spaRelation.isWithin(Geometry1, Geometry2);
其他空间关系运算接口如下表所示,可根据实际需求选择接口实现。
接口 | 说明 |
---|---|
SpaRelation.isDotInLin() | 判断点是否在折线内 |
SpaRelation.isDotInRect() | 判断点是否在矩形内 |
SpaRelation.isDotInReg() | 判断点是否在区内 |
SpaRelation.isLinInReg() | 判断线是否在区内 |
SpaRelation.isLinInterReg() | 判断线是否和区相交 |
SpaRelation.isRectInReg() | 判断矩形是否在区内 |
SpaRelation.isRectInterLin() | 判断矩形是否和线相交 |
SpaRelation.isRegInReg() | 判断区1是否在区2内 |
SpaRelation.isRegInterReg() | 判断区是否和区相交 |
示例效果如下所示: